IView Interface
- GetModel
- GetGlobalAxesFlag
- ShowGlobalAxes
- GetBackColor
- SetBackColor
- GetRenderType
- SetRenderType
- Enable
- GetEnableFlag
- Reset
- ResetEx
- GetViewType
- SetViewType
- AddExternalModel
- ShowHideAll
- GoTo
- GetGraphicItem
- GetProjectionType
- SetProjectionType
IView interface gives access to viewing properties of the control as well as access
to ILook interface, which can be queried from IView. IView manages rendering
properties which are independent of the current model and its geometry. IView
can be obtained from the DG Kernel Control using a call to
GetView
method
See also Concepts of 3D Graphics, Modal View Sample,
Interface List
HRESULT GetModel( IModel **ppIModel )
Parameters
ppIModel- [out] pointer to an variable
of type IModel which will receive the interface.
Returns
- S_OK in case of success.
HRESULT GetGlobalAxesFlag( bool *pbShow)
Parameters
pbShow - [out] pointer to a Boolean
variable, which will be set to true if global axes are currently displayed
Return Values
- S_OK in case of
success.
-
- Remarks:
HRESULT ShowGlobalAxes( bool bShow)
Parameters
bShow - [in] if true global axes
will be drawn
- S_OK in case of success.
HRESULT GetBackColor( long *plCOLORREF )
Parameters
plCOLORREF
- [out] pointer to a variable of type long (unsigned 32-bit integer),
which will receive COLORREF value of the current background color
Return Values
S_OK in case of success.
- Remarks:
-
- This property determines background color of the control window. Value of
the property need to be cast to COLORREF standard C++/VB data type to use. A
call to this method is equivalent to retrieving value of DIBackColor property
of the control.
HRESULT SetBackColor( long lCOLORREF )
Parameters
lCOLORREF
- [in] new COLORREF value for the background color
Return Values
S_OK in case of success.
- Remarks:
-
- This property determines background color of the control window. Value of
the property need to be cast to COLORREF standard C++/VB data type to use. A
call to this method is equivalent to setting value of DIBackColor property
of the control.
-
HRESULT GetRenderType( int *pnType )
Parameters
lpnType
- [out] pointer to an integer variable, which will be set to 1
if control is displaying a surface or 2 if the control is in wire frame drawing
mode.
Return Values
S_OK in case of success.
- Remarks:
-
- Call to determine at runtime rendering type of the control. There are
currently two possible values for the render type of the control: 1 if control
is displaying a surface or 2 if the control is in wire frame drawing mode. A
call to this method is equivalent to retrieving value of RenederSolid
property of the control.
-
HRESULT SetRenderType( int nType )
Parameters
nType - [in] New render type.
If nType equals to 1 the control will be displaying surfaces. if nType equals to
2 the control will display wireframes.
Return Values
S_OK in case of success.
DISP_E_BADINDEX - if nType is neither 1 nor 2..
- Remarks:
-
- Call this method to change display type of the control. A call to this
method is equivalent to setting value of RenederSolid property of the
control.
HRESULT Update()
Redraws the view.
HRESULT Enable( int nFlags, VARIANT_BOOL bEnable )
Parameters
nFlags - [in] flags indicating the
functionality to enable or disable. See remarks.
bEnable - [in] . The functionality will be enabled
(default) if this parameter is true and disabled otherwise.
Returns
- S_OK in case of
success.
Remarks
nFlags parameter can be one of
EEnableBit members: EEnableBit.eEnablePan ( value=1 ), EEnableBit.eEnableZoom
(value = 2), EEnableBit.eEnableRotate (value=4), EEnableBit.eEnableHighLightSurface (value=512), EEnableBit.eEnableTransparency
(value=1024) or OR-ed combination of them. .
Using this method with the first three values of the nFlags
allows disabling of Pan/Zoom/Rotate viewing manipulations
performed on mouse movements. EEnableBit.eEnableHighLightSurface flags enables or disables highlighting
the current object in "Modify"
mode (See IViewModal and IModel2)).
EEnableBit.eEnableTransparency (value=1024) enables rendering of objects with
alpha material color component < 1 as transparent
EEnableBit.eEnablePerspectiveProjection (value=2048) changes view to prospective mode,
where objects, which are further from the viewer appear smaller on the screen.
Prospective mode is recommended for viewing only and is not fully supported in
this release. Contact us for more information.
EEnableBEEnableBit.eEnableNormals (value=4096) turns on / off visibility on normals
in the 3D view
HRESULT GetEnableFlag( int nFlag, VARIANT_BOOL *pbEnable )
Parameters
nFlag - [in] flag to retrieve.
pbEnable - [out] pointer to a Boolean variable,
which will be set to true if the flag is enabled and false otherwise.
Return Values
- S_OK in case of
success.
- Remarks
-
- This method returns the current value of the flag. See remarks for the
previous method.
HRESULT Reset(VARIANT_BOOL redraw)
Parameters
redraw - [in] if false the
control's window will not be redrawn.
Return Values
S_OK in case of success.
Remarks
This method resets zoom of the view to fit the model into the window and
sets point of view to default. The method can be used to programmatically
restore initial zoom and orientation after extensive viewing transformations.
It is also useful to fit model into the view when size of the model has been
changed programmatically. redraw parameter can be used to avoid
flickering before some programmatic manipulations of the view.
HRESULT ResetEx(EViewReset
action)
Parameters
action - [in] Type of reset to
perform
Remarks
When action is
eViewResetAll the result is equivalent to call Reset(false) of the previous
method.
When action is
eViewResetVolume the model will be refit into the window to be fully visible
as if on the start of the application, but its current orientation will be
preserved.
In more technical terms it means that only
Viewing Volume will be modified to center it around the model. Position and
orientation of Global and Eye frames will remain
unchanged.
HRESULT GetViewType(int *type)
Parameters
type - [out, retval] Current type of
the view. Possible return values are enumerated in
EViewType
enumeration
Remarks
Returns the current type of the view. Possible types are enumerated in
EViewType enumeration
HRESULT SetViewType(int type)
Parameters
type - [in] Type of view to
activate. Possible types are enumerated in
EViewType
enumeration
Remarks
This method is not supported in this version
HRESULT AddExternalModel(IModel *model)
Parameters
model - [in]
IModel implemented by an external model. See remarks.
Remarks
The method attaches model as an
external model to the
component which implements this interface. When there is one or more external
models attached to the component where this IView2 was queried from on every
UpdateSurface call all objects of
all external models are replicated and the new copies are added to the main
model of the component, which is the model returned by
GetModel() method. The replicas added by
the pervious call to UpdateSurface
are removed before the operation.
The above mechanism allows incorporating model loaded / created independently of
the current component or creating multiple views of the same model probably with
different display type or point of view.
Note that objects of the external models are. added "By Value", which means that
any modifications made to the external model appear in this component only after
an UpdateSurface call, not
automatically.
HRESULT ShowHideAll(VARIANT_BOOL show)
Remarks
Shows or hides all items in the model
HRESULT GoTo(IItem* iObject)
Remarks
Performs pan and zoom as necessary to focus on the object ( more precisely to fit
the object in the window with default margins). Orientation of the view remains
the same
HRESULT GetGraphicItem(IObject_KC* object, IGraphicItem** item)
Creates a graphic item for the object and attaches this view to it
HRESULT GetProjectionType(int* type)
Call to query whether the projection is orthographic or perspective. Returns one of values enumerated by E3DViewProjectionType
HRESULT SetProjectionType(int type)
Call to set the projection type to orthographic or perspective. Acceptable values are enumerated by E3DViewProjectionType
|